package com.example.houseitemmanagebackend.service;

import com.example.houseitemmanagebackend.dto.CaptchaDTO;
import com.example.houseitemmanagebackend.dto.LoginDTO;
import com.example.houseitemmanagebackend.dto.PasswordDTO;
import com.example.houseitemmanagebackend.dto.RegisterDTO;
import com.example.houseitemmanagebackend.dto.UserProfileDTO;
import com.example.houseitemmanagebackend.dto.ResetPasswordDTO;
import com.example.houseitemmanagebackend.dto.ChangePasswordDTO;
import com.example.houseitemmanagebackend.vo.TokenVO;
import com.example.houseitemmanagebackend.vo.UserVO;

/**
 * 认证服务接口
 */
public interface AuthService {

    /**
     * 用户登录
     */
    TokenVO login(LoginDTO loginDTO);

    /**
     * 用户注册
     */
    void register(RegisterDTO registerDTO);

    /**
     * 获取当前用户信息
     */
    UserVO getCurrentUser(Long userId,Long locationId);

    /**
     * 更新用户信息
     */
    void updateProfile(UserProfileDTO userProfileDTO);

    /**
     * 发送重置密码验证码
     */
    void sendResetCode(String email);

    /**
     * 重置密码（忘记密码使用）
     */
    void resetPassword(ResetPasswordDTO resetPasswordDTO);

    /**
     * 修改密码（需要原密码验证）
     */
    void changePassword(ChangePasswordDTO changePasswordDTO);
}